﻿using System;
using System.Collections.Generic;
using System.Xml;
using Navigant.Infrastructure.Cases;

namespace Navigant.Infrastructure.ClientPortals
{
    public interface IClientPortalRepository
    {
        IClientPortal FindBy(Uri siteAddress);
        void SetSetting(IClientPortal clientPortal, string name, string value);
        IClientPortal FindBy(Guid siteCollectionKey);
        IList<ICase> FindAllCases(Guid siteCollectionKey);
        IList<ICase> FindAllCases(Guid siteCollectionKey, string siteDirectoryName, 
            string categoryName, string categoryValue);
        IList<string> GetCaseSiteCategories(Guid clientPortalId,
            string siteDirectoryName, string categoryName);
        string GetDefaultCaseSiteCategory(Guid clientPortalId,
            string siteDirectoryName, string categoryName);
        void SaveXmlFileToDocumentLibrary(IClientPortal clientPortal,
            XmlDocument document, string documentLibraryName, string fileName);
    }
}
